// https://www.cnblogs.com/lxlx1798/p/11122881.html;
main() {
  //===============复制map
  // Map map1 = {'a':'a1','b':'b1','c':'c1','f':{
  //   "a":'xxx'
  // }};
  // Map map2 = Map.castFrom(map1); //其实复制的也是一个内存地址
  // Map map3 = Map.from(map1); // 这个相当于深拷贝，但是也只能拷贝第一层
  // map1['d'] = 'd1';
  // map1['f']['a'] = '这是深拷贝';
  // print(map2);
  // print(map3);

  //============根据list所提供的key value来创建map；
  // List<String> keys = ['one', 'two'];
  // List<String> values = ['Android', 'IOS'];
  // Map map9 = Map.fromIterables(keys, values);
  // print(map9);

  //===============updateAll() 根据参数函数的规则，批量修改map


  //==============Dart 2.3 增加操作符 ... 和 ...? ，提供一种将多个元素插入 Map 的简便方法
   Map map1 = {'a':'a1','b':'b1','c':'c1','f':{
    "a":'xxx'
  }};
   Map map2 = {'a1':'a12','b':'b12','c':'c12','f':{
    "a":'xxx'
  }};

  print({
    ...map1,
    ...map2,
  });

}
